package com.jhy.new2025.string;

/**
 * 给定一个字符串 s，它包含小写字母和数字字符，
 * 请编写一个函数，将字符串中的字母字符保持不变，
 * 而将每个数字字符替换为number。
 */
public class NumberStr {
    public static String replaceNumber(String s) {
        // 先统计字符串里面有几个数字
        char[] chars = s.toCharArray();
        int count = 0;
        for (char aChar : chars) {
            if (Character.isDigit(aChar)) {
                count++;
            }
        }
        // 定义我们的一个大的数组
        char[] old = new char[chars.length + count * 5];

        // 现在就是我们两个数组 一个旧的、一个新的
        for (int i = 0, j = 0; i < chars.length; i++) {
            if (Character.isDigit(chars[i])) {
                old[j] = 'n';
                old[j + 1] = 'u';
                old[j + 2] = 'm';
                old[j + 3] = 'b';
                old[j + 4] = 'e';
                old[j + 5] = 'r';
                j = j + 6;
                continue;
            }
            old[j] = chars[i];
            j++;
        }
        return new String(old);
    }

    public static void main(String[] args) {
        String adc = "a1b2c3";
        String s = replaceNumber(adc);
        System.out.println(s);
    }
}
